1. Field of the Invention
The present invention relates to methods for secure handling and routing of interrupts in a computer system.
2. Background of the Related Art
In a computer, an interrupt is a signal indicating the need for attention. An interrupt causes the processor to save its state of execution and begin execution of an interrupt handler, which may also be referred to as an interrupt service routing. Although some communication standards utilize a physical interrupt line from a device to the processor, a device compatible with the peripheral component interconnect (PCI) standard raises a message-signaled interrupt (MSI) that does not use a physical interrupt line. Instead, a message-signaled interrupt allows a device to signal its request for service by sending a short message over some communication medium, for example by writing the message onto the PCI bus. Because the identity of the interrupt is indicated by a pattern of data bits, not requiring a separate physical conductor, many more distinct interrupts can be efficiently handled.
A message-signaled interrupt vector provides an index into an interrupt descriptor table maintained by, and accessible to, the processor so that the processor can identify the address of the interrupt handler that needs to be executed. These MSI vectors, as dictated by the current PCI specification, are initialized and stored in the PCI configuration space within a PCI device so the PCI device can request service by executing a memory-write of the MSI vector to a known destination address. This MSI vector information is then forwarded by the input/output advanced programmable interrupt controller (I/O Interrupt Controller) in the form of a message on the front-side bus to the local advanced programmable interrupt controller (Local Interrupt Controller) associated with a particular processor.